package com.example.d4_byte_stream;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

/**
 * 目标：使用字节流完成对文件的复制操作
 */
public class CopyTest5 {
    public static void main(String[] args) throws Exception {
        // 需求：复制照片
        // 1.创建一个字节输入流管道与源文件接通
        InputStream is = new FileInputStream("D:\\File\\a.jpg");

        // 2.创建一个字节输出流管道与目标文件接通
        OutputStream os = new FileOutputStream("D:\\File\\temp\\a.jpg");

        // 3.创建一个字节数组,负责转移字节数据
        byte[] bytes = new byte[1024];

        // 4.从字节输入流中读取字节数据,写出去到字节输出流中,读多少写出去多少
        int len; // 记住每次读取了多少个字节

        // 5.循环读取并写出
        while ((len = is.read(bytes)) != -1) {
            os.write(bytes, 0, len);
        }

        // 6.先关闭后创建的流
        os.close();
        is.close();
        System.out.println("复制完成！！");
    }
}
